package com.quxiu.system.mapper;

import java.util.List;
import com.quxiu.system.domain.BpmProc;
import com.quxiu.system.domain.BpmProcNode;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 流程定义Mapper接口
 *
 * @author quxiu
 * @date 2024-06-14
 */
@Mapper
public interface BpmProcMapper {
    /**
     * 查询流程定义
     *
     * @param procId 流程定义主键
     * @return 流程定义
     */
    public BpmProc selectBpmProcByProcId(@Param("procId") Long procId);

    /**
     * 查询流程定义列表
     *
     * @param bpmProc 流程定义
     * @return 流程定义集合
     */
    public List<BpmProc> selectBpmProcList(BpmProc bpmProc);

    /**
     * 新增流程定义
     *
     * @param bpmProc 流程定义
     * @return 结果
     */
    public int insertBpmProc(BpmProc bpmProc);

    /**
     * 修改流程定义
     *
     * @param bpmProc 流程定义
     * @return 结果
     */
    public int updateBpmProc(BpmProc bpmProc);

    /**
     * 删除流程定义
     *
     * @param procId 流程定义主键
     * @return 结果
     */
    public int deleteBpmProcByProcId(@Param("procId") Long procId);

    /**
     * 更新最新版本号
     * @param procId
     * @param versionId
     * @return
     */
    int updateBpmProcLastVersionId(@Param("procId") Long procId, @Param("versionId") Long versionId);

}
